package com.tqjc.execute.utils;

/**
 * @Description: 反射工厂类，负责根据类名创建对象
 * @author: pzy
 * @date: 2023年05月18日 16:01
 */

public class ObjectFactory {

    public static Object createObject(String keyword) {
        Object object = null;
        try {
            // 获取类的Class对象
            Class<?> clazz = Class.forName(getClassName(keyword));
            // 创建对象
            object = clazz.newInstance();
        } catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) {
            e.printStackTrace();
        }
        return object;
    }

    private static String getClassName(String keyword) {
        String className = "";
        switch (keyword) {
            case "A":
                className = "com.example.AClass";
                break;
            case "B":
                className = "com.example.BClass";
                break;
            // 可以根据需要添加其他的关键词和对应的类名
            default:
                break;
        }
        return className;
    }
}
